1. Field of Invention
The present invention relates generally to multiple user systems. More particularly, the present invention relates to effective resource allocation and administration on multiple user systems.
2. Description of the Related Art
Individual computer systems have been used to support multiple clients in a variety of different environments. These individual computer systems typically have multiple processors that share a single physical address space. However, operating systems fully benefiting from the resources available in a single computer system have been difficult to develop. Often times, the resources such as processing and memory resources available in a multiple user computer system are difficult to allocate effectively to each of the various services and users of the system. Cellular Disco is one technique for partitioning a multiple user system. Cellular Disco is described in Cellular Disco: Resource Management Using Virtual Clusters On Shared-Memory Multiprocessors, Operating Systems Review 34(5):154–169, December 1999, the entirety of which is incorporated by reference for all purposes.
A virtual machine executive runs on top of the computer system hardware and creates multiple instances of one or more operating systems by running each instance inside its own virtual machine. That is, Cellular Disco is an architecture that allows the creation of multiple virtual machines associated with multiple instances of an operating system. More generally, each virtual machine and associated operating system instance can be allocated one or more virtual CPUs and a predetermined amount of memory. Each operating system can then run as though it had its own computer system hardware, even though it may only have access to some smaller portion of the physical resources of the machine.
However, because of the independence of the various operating system instances, each operating system instance has its own set of administration and system maintenance issues. As an example, when a system administrator seeks to install a new application on a set of computer systems, the system administrator typically needs to install the new application on each operating system instance. If a single computer system has a virtual machine executive that creates five virtual machines and associated operating system instances, the system administrator has to install the new application on each of the five operating system instances even though there is actually only a single underlying physical computer system.
Consequently, it is desirable to provide improved techniques for managing resources and administering system services and applications on the set of operating systems hosted by a virtual machine executive.